home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / instools / prelude.zip / PRELUDE.DOC < prev    next >
Encoding:
Text File  |  1994-02-19  |  14.1 KB  |  404 lines

  1. --------------------------------------------------------------------------
  2. PRELUDE 1.0 -- UNIVERSAL INSTALLATION UTILITY -- SICHEMSOFT -- NETHERLANDS
  3. --------------------------------------------------------------------------
  4.  
  5.  
  6. INTRO
  7.  
  8. PRELUDE is a simple but good looking generic installation utility. It gives
  9. your users a professional first impression of your products. You build your
  10. distribution disks as if you were using an old fashioned install.bat file.
  11. You create a simple installation script, copy that and install.exe to the
  12. first disk and presto. Key features of PRELUDE are:
  13.  
  14. - DOS text version, DOS graphics version and Windows version of install.exe
  15.  
  16. - professional looking installation screens in graphics or text mode
  17.  
  18. - (human) language independent !!!
  19.  
  20. - checks available memory, disk space, graphics adapter
  21.  
  22. - warns against overwrite of existing directories
  23.  
  24. - supports up to 6 different destination directories
  25.  
  26. - allows users to select a destination other than your default
  27.  
  28. - prompts for correct disk and refuses wrong one
  29.  
  30. - displays text files (e.g. read.me) if desired
  31.  
  32. - runs any program as a daughter process (e.g. self extracting files)
  33.  
  34. - allows users to abort the installation at any time
  35.  
  36.  
  37. --------------------------------------------------------------------------
  38.  
  39.  
  40. INSTALLATION
  41.  
  42. Copy all files to a temporary directory, make this the current directory and
  43. type INSTALL to make PRELUDE install itself. This is an example installation.
  44. You will be asked if you want to install LINGUA as well. You need this for
  45. creating language independent installations. After installation you can remove
  46. the temporary directory. Do NOT use the temporary directory as the directory
  47. to install PRELUDE in.
  48. The programs should run on any IBM-PC compatible computer with at least 512KB
  49. memory and running under DOS 3.x or later. For the DOS graphics version
  50. an EGA, VGA or Hercules adapter is required. If such an adapter is not found,
  51. the installation program uses text mode. A mouse is recommended but not
  52. required.
  53.  
  54. --------------------------------------------------------------------------
  55.  
  56.  
  57. SHAREWARE NOTICE
  58.  
  59. The PRELUDE package is provided as is. There are no warranties expressed or
  60. implied. PRELUDE is distributed as shareware. You may use it without charge
  61. on a trial basis to determine its suitability for you. If you intend to use
  62. it for the distribution of your own software, you must purchase a registered
  63. copy for $50. A registered copy has no shareware message but a welcoming
  64. message according to your wishes. For registration print the file REGISTER.TXT
  65. and send it with payment to:
  66.  
  67. SichemSoft VoF
  68. Roghorst 160
  69. 6708 KS Wageningen
  70. Netherlands
  71.  
  72. --------------------------------------------------------------------------
  73.  
  74.  
  75. COPYRIGHTS
  76.  
  77. PRELUDE is (C) SichemSoft, Roghorst 160, 6708 KS Wageningen, Netherlands.
  78. PRELUDE was written in Borland C++ 3.1 and uses Zinc Application Framework
  79. 3.6 for it's GUI. PRELUDE uses the SPAWNO routines by Ralf Brown to minimize
  80. memory use while running other programs. The executables were compressed
  81. using LZEXE of Fabrice Bellard.
  82.  
  83. --------------------------------------------------------------------------
  84.  
  85.  
  86. FILES
  87.  
  88. PRELUDE.DOC    Documentation
  89. REGISTER.TXT   Registration form
  90. PRELUDE.EXE    Installation script encoding utility
  91. TESTFIL.EXE    Test program to check encoded script
  92. INSTALL.EXE    Installation program - DOS graphics version
  93. TINSTALL.EXE   Installation program - DOS text version
  94. WINSTALL.EXE   Installation program - Windows 3.1 version
  95. INSTALL.SCR    Install script example (text file)
  96. INSTALL.FIL    Install script example (binary file)
  97. INSTALL.TXT    Install's own dialog text (text file)
  98. INSTALL.ETF    Install's own dialog text (binary file)
  99. OEM2ISO.EXE    Text conversion utility
  100. LINGUA13.EXE   Self extracting international language support package
  101.  
  102. --------------------------------------------------------------------------
  103.  
  104.  
  105. USAGE
  106.  
  107. Using any ascii text editor, create an installation script according to the
  108. syntax described below. Call this INSTALL.SCR. Then run PRELUDE (with no
  109. parameters). If all goes well a binary encoded file INSTALL.FIL is created.
  110. Copy this, plus one of the ?INSTALL.EXE's to the first floppy. Also, copy
  111. INSTALL.ETF to this floppy. This contains all INSTALL's own dialog text
  112. and was generated from INSTALL.TXT with our utility LINGUA (see below under
  113. International Language Support). You can choose from INSTALL.EXE (the DOS
  114. graphics version), TINSTALL.EXE (the DOS text version), and WINSTALL.EXE
  115. (the Windows 3.1 version). Be sure to rename your choice to INSTALL.EXE
  116. on the floppy if necessary. You may use the provided INSTALL.SCR as a
  117. template for your own scripts.
  118. NOTE: At present the PRELUDE package only takes care of the installation
  119. part, not of the diskette preparation part. We use Opticopy for this.
  120.  
  121. --------------------------------------------------------------------------
  122.  
  123.  
  124. INTERNATIONAL LANGUAGE SUPPORT
  125.  
  126. The INSTALL.ETF file was created from INSTALL.TXT with LINGUA. The current
  127. version of this package is included with PRELUDE. See LINGUA.DOC for details.
  128. You can translate INSTALL.TXT to your language of choice and put the resulting
  129. INSTALL.ETF on your first disk. Now INSTALL speaks that language. If this
  130. language uses diacritical characters (like â or é) you must first convert your
  131. INSTALL.TXT with OEM2ISO because INSTALL does not use the IBM character set
  132. but the ISO 8859 set. This allows for one INSTALL.FIL that can be used by
  133. both the Windows and the DOS version.
  134.  
  135.  
  136. --------------------------------------------------------------------------
  137.  
  138.  
  139. SCRIPT SYNTAX
  140.  
  141. While writing an installation script the following rules must be observed:
  142. - A script file may contain a maximum number of 200 commands
  143. - Comment lines must start with * on the first position
  144. - Lines should be no more than 250 characters long
  145. - Labels must start with : on the first position and consist of one word
  146.  
  147.  
  148. Startup commands
  149. ----------------
  150.  
  151. PACKAGE  name
  152.  
  153. This command defines the name of the package that is about to be
  154. installed. This name will be displayed in the title bar of the main window
  155. and in various dialogs and should not be too long. This command is required
  156. and must be the first command in the script. Examples:
  157.  
  158. PACKAGE Lingua
  159. PACKAGE Universal Puchcard System 17.6
  160.  
  161.  
  162. MEMORY  conventional  [extended]
  163.  
  164. If you use this command, it will be verified if the target computer has enough
  165. memory to execute your program(s). If the available memory is not sufficient,
  166. a warning message is displayed. The user can then choose to abort or continue.
  167. The numbers in the MEMORY command for conventional and, optionally, extended
  168. memory must be given in kilobytes. Examples:
  169.  
  170. MEMORY 384
  171. MEMORY 512 2048
  172.  
  173. Note 1: the Windows version ignores the MEMORY command.
  174. Note 2: the DOS version determines if the package is installed on a network
  175.         drive. If so, the MEMORY command is ignored.
  176.  
  177.  
  178. VIDEO  [ HERCULES and/or CGA and/or EGA and/or VGA ]
  179.  
  180. The VIDEO command verifies that the target machine has the right kind of video
  181. adapter. In the list you may use either or all of the following: HERCULES,
  182. CGA, EGA, VGA. If one of the adapters in the list is not found, a warning
  183. message is issued. Examples:
  184.  
  185. VIDEO EGA HERCULES
  186. VIDEO VGA
  187.  
  188. Note 1: the Windows version ignores the VIDEO command.
  189. Note 2: the DOS version determines if the package is installed on a network
  190.         drive. If so, the VIDEO command is ignored.
  191.  
  192.  
  193. NETWORK
  194.  
  195. To notify INSTALL that this will be a network installation and that VIDEO
  196. and MEMORY commands should be ignored. A warning message is issued if no
  197. NETBIOS is detected.
  198.  
  199.  
  200. DESTINATION  mnemonic  path  space  name
  201.  
  202. The DESTINATION command lets you define what default destination directory
  203. should be displayed in the field(s) that the user can edit if he/she so wishes
  204. before the installation is started. A maximum of 6 DESTINATION commands is
  205. allowed. The mnemonic parameter serves as a placeholder for the directories
  206. that the user chooses. These mnemomics can then be used in COPY, CHDIR, RUN,
  207. DISPLAY and EXIST commands. The path parameter defines the default destination
  208. path. The space parameter is a number that represents kilobytes of required
  209. space. If (one of) the drive(s) is short of space, a warning message is the
  210. result. As fourth parameter, a name must be given to display in the path
  211. selection dialog. There must at least be one DESTINATION command in
  212. install.fil. If there is more than one DESTINATION command, the user will be
  213. given the opportunity to select parts to install. All DESTINATION commands
  214. must be grouped together and must precede any COPY, CHDIR, RUN, DISPLAY and
  215. EXIST commands. Examples:
  216.  
  217. DESTINATION EXECS  c:\moonshine       500 Executables
  218. DESTINATION EXTUTL c:\moonshine\still 300 Examples and tutorial
  219. DESTINATION DATA   c:\moonshine\data  800 Data files
  220.  
  221.  
  222. Sequential commands
  223. -------------------
  224.  
  225. VOLUME  label  name
  226.  
  227. The VOLUME command prompts for a specified disk. It checks the volume label
  228. and reprompts if necessary. The label parameter is the exact volume label of
  229. the requested disk, the name parameter should be the name on the diskette
  230. label, so the user can identify the correct disk. If this disk is already
  231. in the drive when the VOLUME command is executed, no messages are given and
  232. PRELUDE will proceed to the next command immediately. Example:
  233.  
  234. VOLUME  LINGO_2  Disk 2 of 2
  235.  
  236. Note: When installing from hard disk the VOLUME command is ignored.
  237.  
  238.  
  239. COPY  source  destination
  240.  
  241. The COPY command is used to copy one or more files from the distribution disks
  242. to their respective destination directory. You can use the normal DOS syntax,
  243. but use the path mnemonics of the DESTINATION command for the destination
  244. drive/path names. To distinct the mnemonics from real names, a $ must be
  245. prepended. Also, the $SOURCE mnemonic may be used. Do NOT give file names in
  246. the destination path. If no path mnemonic is given, the current working
  247. diretcory is used. Examples:
  248.  
  249. COPY $SOURCE\*.exe   $EXECS
  250. COPY $SOURCE\read.me $EXTUTL\docs
  251.  
  252.  
  253. TEXT  [ X ]
  254. ENDTEXT
  255.  
  256. The text between the TEXT and ENDTEXT commands is displayed on the
  257. screen for the user to read until a key is pressed. If the X parameter
  258. is used, the user has the opportunity to abort at this point. Example:
  259.  
  260. TEXT  X
  261. You will be asked for your company name and serial number during this
  262. installation procedure. Be sure to have them ready before you proceed.
  263. ENDTEXT
  264.  
  265.  
  266. CHDIR  directory
  267.  
  268. The CHDIR command changes the current working directory to the one given.
  269. The path mnemonics may be used. Examples:
  270.  
  271. CHDIR  c:\test
  272. CHDIR $EXECS\bin
  273.  
  274.  
  275. DISPLAY  filename
  276.  
  277. The contents of an entire file can be displayed in a scrollable window
  278. with the DISPLAY command. The filename may contain a path mnemonic. If no
  279. path is used the current directory will be searched for the file.
  280. Examples:
  281.  
  282. DISPLAY read.me
  283. DISPLAY $EXECS\info.doc
  284.  
  285.  
  286. RUN  IO/NOIO  programname  {parameter}
  287.  
  288. The RUN command executes any program as a daugther process ("spawn").
  289. The exit status of the program can be tested and acted upon by means of the
  290. IF command (see below). The .exe or .com extension must be given in the
  291. command. The IO/NOIO parameter determines if the program will do console i/o
  292. of its own or not. If IO is chosen, the installation display is cleared before
  293. the program is executed and restored after it has finished. If NOIO is chosen,
  294. a message like "Running AUTHORIZ" is displayed and even output to stdout that
  295. might come from the spawned program is suppressed. Examples:
  296.  
  297. RUN IO   datapack.exe
  298. RUN NOIO $EXECS\authoriz.exe
  299.  
  300.  
  301. INPUT  text
  302.  
  303. You can ask the user for one line of input. Afterwards the input is available
  304. by use of the $INPUT mnemonic. This mnemonic may be used in the ERROR,
  305. QUESTION and RUN commands.
  306.  
  307. INPUT Which show would you like to see?
  308. RUN IO $INPUT.exe
  309.  
  310.  
  311. QUESTION  text
  312.  
  313. You can ask the user a question which can be answered by Yes or No.
  314. After that, the IF command (see below) can be used to act  upon the answer.
  315. A Yes answer results in an exit status of 1 and a No answer results in an
  316. exit status of 0. Example:
  317.  
  318. RUN myprog
  319. IF 0 ok
  320. QUESTION Do you want to continue?
  321. IF 0 abort
  322. : ok
  323. ..
  324. :abort
  325. STOP
  326.  
  327.  
  328. ERROR  text
  329.  
  330. If a fatal error occured (e.g. during the execution of a RUN command), you
  331. must be able to notify the user of this. The ERROR command displays an
  332. error message and aborts the installation after the user has pressed a key.
  333. Example:
  334.  
  335. RUN murphy
  336. IF 0 ok
  337. ERROR Murphy's Law has done it again!
  338. * installation aborts automatically
  339. :ok
  340.  
  341.  
  342. Control commands
  343. ----------------
  344.  
  345. EXIST  name
  346.  
  347. The EXIST command verifies if a specified file exists. The path mnemonics
  348. may be used. If the file exists an exit status of 1 is the result, and 0
  349. otherwise. Example:
  350.  
  351. EXIST $UTIL\transfer.exe
  352. IF 1 ok
  353. ERROR TRANSFER.EXE does not exist
  354. :ok
  355.  
  356.  
  357. IF  [operator]value  label
  358.  
  359. After a RUN or QUESTION command finishes the exit status can be tested by the
  360. IF command. This works somewhat like the errorlevel testing in batch files. The
  361. exit status is compared to the given value according to the operator. If this
  362. comparison evaluates to TRUE, execution of install.fil continues from the
  363. given label, otherwise the next command is executed. The label parameter must
  364. refer to label a in the same script. The operators that can be used are: =, =>,
  365. >, <, <=, <>. If the operator is omitted, = is assumed. There must be no space
  366. between the operator and the value! Examples:
  367.  
  368. IF 5 error
  369. IF >=3 warning
  370. IF <2 exit
  371.  
  372.  
  373. GOTO label
  374.  
  375. The ugly GOTO command jumps to the command after the label. A label is any
  376. word on a line of its own preceded by a :. Example:
  377.  
  378. RUN decomp blabla.z
  379. IF >=1 exit
  380. RUN blabla
  381. GOTO ok
  382. :exit
  383. TEXT
  384. Goodbye!
  385. ENDTEXT
  386. STOP
  387. :ok
  388. DONE
  389. DISPLAY read.me
  390.  
  391.  
  392. STOP
  393.  
  394. The STOP command aborts the installation. Example: see QUESTION and GOTO.
  395.  
  396.  
  397. DONE
  398.  
  399. The DONE command deletes the window that shows the installation progression.
  400. After that, e.g. a readme.txt file can be displayed. Example: see GOTO.
  401.  
  402.  
  403. --------------------------------------------------------------------------
  404.